package threadProblem;

public class ThreadPrint {
    /*
    * 在子线程执行完毕后再执行主线程代码
    *
    * 有20个线程，需要同时启动。
    * 每个线程按0-19的序号打印，如第一个线程需要打印0
    * 请设计代码，在main主线程中，等待所有子线程执行完后，再打印 ok
    * */

    public static int index = 0;
    public static void main(String[] args) throws InterruptedException {
        //创建大小为20的线程数组
        Thread[] threads = new Thread[20];
        //创建20个线程
        for(index = 0; index < 20; index++){
            threads[index] = new Thread(()->{
                System.out.println(index);
            });
        }
        //启动线程，主线程等待子线程执行完成
        for (index = 0; index < 20; index++){
            threads[index].start();
            threads[index].join();
        }
        //所有子线程执行完后主线程打印ok
        System.out.println("ok");
    }
}
